* { box-sizing: border-box; }
body { margin: 0; font: 18px/1.6 system-ui, sans-serif; color: #243240; background: #f5f7f9; }
main { max-width: 940px; margin: 36px auto; padding: 30px; background: white; border-radius: 14px; }
h1 { font-size: 1.8rem; line-height: 1.2; }
h2 { margin-top: 28px; font-size: 1.3rem; }
a { color: #145b86; }
button { font: inherit; padding: 10px 18px; border: 0; border-radius: 7px; background: #185978; color: white; cursor: pointer; }
button:disabled { opacity: .55; cursor: default; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid #dc8d16; outline-offset: 3px; }
label { display: block; margin: 10px 0; }
input { font: inherit; max-width: 100%; }
input[type=text] { padding: 6px; width: 9em; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px; background: #eef2f5; }
.notice { padding: 15px; background: #fff4df; border-radius: 7px; }
#preview { display: block; max-width: 100%; max-height: 400px; margin: 20px 0; }
#preview[hidden] { display: none; }
#status { font-weight: 600; }
table { width: 100%; border-collapse: collapse; margin-top: 18px; }
th, td { padding: 12px; border: 1px solid #c9d4dd; text-align: left; }
th { background: #edf3f7; }
.code-note { font-size: .9rem; }
.controls { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
@media (max-width:600px) { main { margin: 0; padding: 20px; border-radius: 0; } }